#ifndef SER_HEADH_H
#define SER_HEADH_H


#include <my_head.h>

enum work_status{
    FREE,
    BUSY
};

typedef struct work_s{
    pid_t pid;
    int islive;
    int pipefd;//主人用来和某个工人通信的socket管道的fd

}work_t;

typedef struct ip_s{
    char * IP;
    char * PORT;
}ip_t;

#define WORKERNUM 3
//创建工人
int creat_work(int num,work_t* work);

//创建sockfd连接
int init_tcp(ip_t IPPORT);

//进行创建epoll对象
int create_epoll();


//进行新建监听对象
int add_epoll_event(int fd,int epfd);

//进行事件的删除
int del_epoll_event(int fd,int epfd);

//进行讲父进程和子进程的通信，讲netfd对应的文件对象传递给子进程
int sendfd(int sockpipefd, int fd);
int recvfd(int sockpipefd, int* pfd);

//tiv协议的结构
typedef struct transfile_struct
{
    int length;
    char* data;
    
}transfile_t;

//进行子进程与客户端的通信
int transfile_to(int netfd);

int transfile_from(int netfd, transfile_t* ptransfile);

#endif